<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"
      xmlns:c="http://java.sun.com/jsp/jstl/core">

    <ui:composition template="/tiers.xhtml">
        <ui:define name="title">
            <h:outputText value="#{bundle.EditTiersTitle}"></h:outputText>
        </ui:define>
        <ui:define name="body">
            <p:tabView dynamic="true" >
                <p:tab title="Informations générales">
                    <h:form>
                        <h:panelGrid columns="6">
                            <h:outputLabel value="#{bundle.CreateTiersLabel_nomTiers}" for="nomTiers" />
                            <p:inputText id="nomTiers" required="true" value="#{tiersController.selected.nomTiers}" title="#{bundle.CreateTiersTitle_nomTiers}" />
                            <p:message for="nomTiers"/>
                            <h:outputLabel value="#{bundle.CreateTiersLabel_codeInterneTiers}" for="codeInterneTiers" />
                            <p:inputText id="codeInterneTiers" value="#{tiersController.selected.codeInterneTiers}" title="#{bundle.CreateTiersTitle_codeInterneTiers}" />
                            <p:message for="codeInterneTiers"/>
                            <h:outputLabel value="#{bundle.CreateTiersLabel_categorie}" for="categorie" />
                            <p:selectOneMenu id="categorie" value="#{tiersController.selected.categorie}" title="#{bundle.CreateTiersTitle_categorie}" >
                                <f:selectItems value="#{categorieTiersController.itemsAvailableSelectOne}"/>
                            </p:selectOneMenu>
                            <p:message for="categorie"/>
                            <h:outputLabel value="#{bundle.CreateTiersLabel_typeTiers}" for="typeTiers" />
                            <p:selectOneMenu id="typeTiers" value="#{tiersController.selected.typeTiers}" title="#{bundle.CreateTiersTitle_typeTiers}" >
                                <f:selectItems value="#{typeTiersController.itemsAvailableSelectOne}"/>
                            </p:selectOneMenu>
                            <p:message for="typeTiers"/>
                            <h:outputLabel value="#{bundle.CreateTiersLabel_capital}" for="capital" />
                            <p:inputText id="capital" value="#{tiersController.selected.capital}" title="#{bundle.CreateTiersTitle_capital}" />
                            <p:message for="capital"/>
                            <h:outputLabel value="#{bundle.CreateTiersLabel_effectif}" for="effectif" />
                            <p:inputText id="effectif" value="#{tiersController.selected.effectif}" title="#{bundle.CreateTiersTitle_effectif}" />
                            <p:message for="effectif"/>
                            <h:outputLabel value="#{bundle.CreateTiersLabel_tva}" for="tva" />
                            <p:selectBooleanCheckbox id="tva" value="#{tiersController.selected.tva}"/>
                            <p:message for="tva"/>
                            <h:outputLabel value="#{bundle.CreateTiersLabel_numTVA}" for="numTVA" />
                            <p:inputText id="numTVA" value="#{tiersController.selected.numTVA}" title="#{bundle.CreateTiersTitle_numTVA}" />
                            <p:message for="numTVA"/>
                            <h:outputLabel value="#{bundle.CreateTiersLabel_logo}" for="logo" />
                            <p:selectOneMenu id="logo" value="#{tiersController.selected.logo}" title="#{bundle.CreateTiersTitle_logo}" >
                                <f:selectItems value="#{logosController.itemsAvailableSelectOne}"/>
                            </p:selectOneMenu>
                            <p:message for="logo"/>
                        </h:panelGrid>
                        <br/>
                        <h:commandLink action="#{tiersController.update}" value="#{bundle.EditTiersSaveLink}"/>
                        <br />
                        <h:commandLink action="View" value="#{bundle.EditTiersViewLink}" immediate="true"/>
                        <br />
                        <h:commandLink action="#{tiersController.prepareList}" value="#{bundle.EditTiersShowAllLink}" immediate="true"/>
                    </h:form>
                </p:tab>


                <p:tab title="Adresses postale">
                    <h:form>
                        <h:panelGrid columns="6">
                            <h:outputLabel value="#{bundle.CreateAdressePostaleLabel_labelAdresse}" for="labelAdresse" />
                            <p:inputText id="labelAdresse" required="true" value="#{tiersController.adressePostale.labelAdresse}" title="#{bundle.CreateAdressePostaleTitle_labelAdresse}" />
                            <p:message for="labelAdresse"/>
                            <h:outputLabel value="#{bundle.CreateAdressePostaleLabel_categorieAdressePostale}" for="categorieAdressePostale" />
                            <p:selectOneMenu id="categorieAdressePostale" value="#{tiersController.adressePostale.categorieAdressePostale}" title="#{bundle.CreateAdressePostaleTitle_categorieAdressePostale}" >
                                <f:selectItems value="#{categorieAdressePostaleController.itemsAvailableSelectOne}"/>
                            </p:selectOneMenu>
                            <p:message for="categorieAdressePostale"/>
                            <h:outputLabel value="#{bundle.CreateAdressePostaleLabel_ligne1Adresse}" for="ligne1Adresse" />
                            <p:inputText id="ligne1Adresse" value="#{tiersController.adressePostale.ligne1Adresse}" title="#{bundle.CreateAdressePostaleTitle_ligne1Adresse}" />
                            <p:message for="ligne1Adresse"/>
                            <h:outputLabel value="#{bundle.CreateAdressePostaleLabel_ligne2Adresse}" for="ligne2Adresse" />
                            <p:inputText id="ligne2Adresse" value="#{tiersController.adressePostale.ligne2Adresse}" title="#{bundle.CreateAdressePostaleTitle_ligne2Adresse}" />
                            <p:message for="ligne2Adresse"/>
                            <h:outputLabel value="#{bundle.CreateAdressePostaleLabel_ligne3Adresse}" for="ligne3Adresse" />
                            <p:inputText id="ligne3Adresse" value="#{tiersController.adressePostale.ligne3Adresse}" title="#{bundle.CreateAdressePostaleTitle_ligne3Adresse}" />
                            <p:message for="ligne3Adresse"/>
                            <h:outputLabel value="#{bundle.CreateAdressePostaleLabel_codePostal}" for="codePostal" />
                            <p:inputText id="codePostal" value="#{tiersController.adressePostale.codePostal}" title="#{bundle.CreateAdressePostaleTitle_codePostal}" />
                            <p:message for="codePostal"/>
                            <h:outputLabel value="#{bundle.CreateAdressePostaleLabel_ville}" for="ville" />
                            <p:inputText id="ville" value="#{tiersController.adressePostale.ville}" title="#{bundle.CreateAdressePostaleTitle_ville}" />
                            <p:message for="ville"/>
                            <h:outputLabel value="#{bundle.CreateAdressePostaleLabel_pays}" for="pays" />
                            <p:selectOneMenu id="pays" value="#{tiersController.adressePostale.pays}" title="#{bundle.CreateAdressePostaleTitle_pays}" >
                                <f:selectItems value="#{paysController.itemsAvailableSelectOne}"/>
                            </p:selectOneMenu>
                            <p:message for="pays"/>
                        </h:panelGrid>
                        <br />
                        <p:commandButton action="#{tiersController.ajouteAdresse}" value="Ajouter" update="liste information @parent"/>

                        <p:separator/>
                        
                        <h:outputText value="Liste des adresses postales :"/>
                        <p:outputPanel id="liste">
                            <p:dataTable value="#{tiersController.selected.adressesPost}" var="item" paginator="true" rows="5" >
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListAdressePostaleTitle_labelAdresse}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.labelAdresse}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListAdressePostaleTitle_categorieAdressePostale}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.categorieAdressePostale.nomCategorie}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListAdressePostaleTitle_ligne1Adresse}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.ligne1Adresse}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListAdressePostaleTitle_ligne2Adresse}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.ligne2Adresse}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListAdressePostaleTitle_ligne3Adresse}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.ligne3Adresse}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListAdressePostaleTitle_codePostal}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.codePostal}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListAdressePostaleTitle_ville}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.ville}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListAdressePostaleTitle_pays}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.pays}"/>
                                </p:column>
                            </p:dataTable>
                        </p:outputPanel>
                    </h:form>
                </p:tab>

                <p:tab title="Numéros de téléphone">
                    <h:form>
                        <h:panelGrid columns="3">
                            <h:outputLabel value="#{bundle.CreateTelephoneLabel_descriptionNumero}" for="descriptionNumero" />
                            <p:inputText id="descriptionNumero" required="true" value="#{tiersController.telephone.descriptionNumero}" title="#{bundle.CreateTelephoneTitle_descriptionNumero}" />
                            <p:message for="descriptionNumero"/>
                            <h:outputLabel value="#{bundle.CreateTelephoneLabel_categorieTelephone}" for="categorieTelephone" />
                            <p:selectOneMenu id="categorieTelephone" value="#{tiersController.telephone.categorieTelephone}" title="#{bundle.CreateTelephoneTitle_categorieTelephone}" >
                                <f:selectItems value="#{categorieTelephoneController.itemsAvailableSelectOne}"/>
                            </p:selectOneMenu>
                            <p:message for="categorieTelephone"/>
                            <h:outputLabel value="#{bundle.CreateTelephoneLabel_numero}" for="numero" />
                            <p:inputText id="numero" required="true" value="#{tiersController.telephone.numero}" title="#{bundle.CreateTelephoneTitle_numero}" />
                            <p:message for="numero"/>
                        </h:panelGrid>
                        <br />
                        <p:commandButton action="#{tiersController.ajouteTelephone}" value="Ajouter" update="liste2 information @parent"/>

                        <p:separator/>

                        <h:outputText value="Liste des numéros de téléphone :"/>
                        <p:outputPanel id="liste2">
                            <p:dataTable value="#{tiersController.selected.telephones}" var="item" paginator="true" rows="5" >
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListTelephoneTitle_descriptionNumero}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.descriptionNumero}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListTelephoneTitle_categorieTelephone}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.categorieTelephone.nomCategorie}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListTelephoneTitle_numero}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.numero}"/>
                                </p:column>
                            </p:dataTable>
                        </p:outputPanel>
                    </h:form>

                </p:tab>
                <p:tab title="Adresses numériques">
                    <h:form>
                        <h:panelGrid columns="3">
                            <h:outputLabel value="#{bundle.CreateAdresseNumeriqueLabel_adresseNum}" for="adresseNum" />
                            <p:inputText id="adresseNum" required="true" value="#{tiersController.adresseNumerique.adresseNum}" title="#{bundle.CreateAdresseNumeriqueTitle_adresseNum}" />
                            <p:message for="adresseNum"/>
                            <h:outputLabel value="#{bundle.CreateAdresseNumeriqueLabel_categorieAdresse}" for="categorieAdresse" />
                            <h:selectOneMenu id="categorieAdresse" value="#{tiersController.adresseNumerique.categorieAdresse}" title="#{bundle.CreateAdresseNumeriqueTitle_categorieAdresse}" >
                                <f:selectItems value="#{categorieAdresseNumeriqueController.itemsAvailableSelectOne}"/>
                            </h:selectOneMenu>
                            <p:message for="categorieAdresse"/>
                        </h:panelGrid>
                        <p:commandButton action="#{tiersController.ajouteAdresseNum()}" value="Ajouter" update="liste3 information @parent"/>

                        <p:separator/>

                        <h:outputText value="Liste des adresses numériques :"/>
                        <p:outputPanel id="liste3">
                            <p:dataTable value="#{tiersController.selected.adressesNum}" var="item" paginator="true" rows="5" >
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListAdresseNumeriqueTitle_adresseNum}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.adresseNum}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListAdresseNumeriqueTitle_categorieAdresse}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.categorieAdresse.nomCategorie}"/>
                                </p:column>
                            </p:dataTable>
                        </p:outputPanel>
                    </h:form>
                </p:tab>
                
                <p:tab title="Contacts">
                    <h:form>
                        <h:panelGrid columns="7">
                            <p:selectOneMenu id="titre" value="#{tiersController.contact.titre}" title="#{bundle.CreateContactTitle_titre}" >
                                <f:selectItems value="#{titreContactController.itemsAvailableSelectOne}"/>
                            </p:selectOneMenu>
                            <h:outputLabel value="#{bundle.CreateContactLabel_nom}" for="nom" />
                            <p:inputText id="nom" required="true" value="#{tiersController.contact.nom}" title="#{bundle.CreateContactTitle_nom}" />
                            <p:message for="nom"/>
                            <h:outputLabel value="#{bundle.CreateContactLabel_prenom}" for="prenom" />
                            <p:inputText id="prenom" required="true" value="#{tiersController.contact.prenom}" title="#{bundle.CreateContactTitle_prenom}" />
                            <p:message for="prenom"/>
                            <h:outputLabel/>
                            <h:outputLabel value="#{bundle.CreateContactLabel_fonction}" for="fonction" />
                            <p:inputText id="fonction" value="#{tiersController.contact.fonction}" title="#{bundle.CreateContactTitle_fonction}" />
                            <p:message for="fonction"/>
                            <h:outputLabel value="#{bundle.CreateContactLabel_adressePostale}" for="adressePostale" />
                            <p:selectOneMenu id="adressePostale" value="#{tiersController.contact.adressePostale}" title="#{bundle.CreateContactTitle_adressePostale}" >
                                <f:selectItems value="#{adressePostaleController.itemsAvailableSelectOne}"/>
                            </p:selectOneMenu>
                            <p:message for="adressePostale"/>
                        </h:panelGrid>
                        <p:commandButton action="#{tiersController.ajouteContact()}" value="Ajouter" update="liste4 information @parent"/>

                        <p:separator/>

                        <h:outputText value="Liste des contacts :"/>
                        <p:outputPanel id="liste4">
                            <p:dataTable value="#{tiersController.selected.contacts}" var="item" paginator="true" rows="5" >
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListContactTitle_titre}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.titre.nomTitre}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListContactTitle_nom}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.nom}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListContactTitle_prenom}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.prenom}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListContactTitle_fonction}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.fonction}"/>
                                </p:column>
                            </p:dataTable>
                        </p:outputPanel>
                    </h:form>
                </p:tab>

            </p:tabView>
        </ui:define>
    </ui:composition>

</html>
